package ltd.ninefish.framework.datascope.annotation;

import ltd.ninefish.framework.datascope.enums.QueryType;

import java.lang.annotation.*;

/**
 * @author zhaoxiubin
 * create-time 2024-01-21 12:01
 * description 数据权限过滤注解
 **/
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface DataScope
{
    /**
     * 查询类型： mapper为mapper查询，wrapper为wrapper查询
     */
    QueryType query() default QueryType.WRAPPER;

    /**
     * 部门表的别名
     */
    String deptAlias() default "";

    /**
     * 用户表的别名
     */
    String userAlias() default "";

    /**
     * 权限字符（用于多个角色匹配符合要求的权限）默认根据权限注解@RequiresPermissions获取，多个权限用逗号分隔开来
     */
    String permission() default "";
}
